{{tag>système kernel tutoriel diagnostic_outil}}

----

====== Que faire lorsque le système gèle ? ======

<note>Pensez à imprimer ces pages pour pouvoir accéder à cette information en cas de système gelé ;-)</note>

Lorsque votre ordinateur ne répond plus aux commandes et que les périphériques d'entrée comme le clavier et/ou la souris semblent bloqués, on dit que le système « gèle » (ou //freeze//, en anglais). Cela peut signifier qu'une erreur critique est survenue dans votre configuration logicielle ou matérielle. Dans une situation comme celle-ci, il faut essayer d'identifier d'où vient le problème pour le traiter et éviter ce genre de désagrément à l'avenir. Si cela n'est pas possible, la priorité sera alors d'éteindre votre système correctement. Voici plusieurs solutions, plus ou moins radicales, qui vous aideront en cas de problème.

===== Terminer/tuer un processus =====
Un processus trop gourmand (en mémoire vive ou en calcul), peut occasionner un gel de votre système. Vous pouvez alors //terminer ce processus// ou le //tuer// (plus radical). Une fois le processus identifié, tentez d'abord de le terminer, puis de le tuer. Plusieurs solutions s'offrent à vous pour faire ce genre de tâche.

==== Avec le moniteur système ====

Cette manipulation n'est pas toujours possible quand le système gèle. Si votre ordinateur réagit encore quelques peu à ce que vous lui demander, vous devriez pouvoir utiliser cette solution.

Vous pouvez terminer/tuer facilement les processus avec le **[[:moniteur système]]**. Pour cela, aller dans **//Système → Administration → Moniteur Système// et cliquer sur le processus :**
  * Cliquez sur **//Terminer le processus//**.
  * **Si cela ne fonctionne pas, faites un clic droit sur le processus et cliquer sur //Tuer le processus//.**

==== Depuis un terminal virtuel ====

Vous avez à votre disposition six consoles textes, nommés "terminaux virtuels", accessibles //via// les combinaisons de touches  **//Alt-Ctrl-F1, Alt-Ctrl-F2 ... Alt-Ctrl-F6//**.  Cela peut prendre plusieurs secondes : n'oubliez pas que votre système est gelé ! Votre écran devient alors noir et on vous invite à entrer votre //login// (ou nom d'utilisateur) puis votre //password// (ou mot de passe). Vous obtenez ensuite un //[[:projets/ecole/scripting/initiation_au_shell|shell]]//, exactement comme dans une fenêtre terminal. Vous pouvez à tout moment revenir à l'écran graphique par **Alt-Ctrl-F7**.

  * La commande **top** va vous permettre de voir les processus qui utilisent le plus de ressources. Par défaut, les processus sont classés par ordre d'utilisation du processeur (colonne **%CPU**). Vous pouvez les classer par utilisation de la mémoire (colonne **%MEM**) en appuyant sur la touche **M**, et revenir au classement initial par la touche **P** (lettres majuscules). Si un processus occupe trop de ressources à votre goût (plus de 90% du CPU, par exemple), vous pouvez le "tuer" de la manière suivante : notez son **PID** (première colonne), puis appuyez respectivement sur la touche **k**, la touche **9**, entrez ce numéro et appuyez sur **entrée**.
FIXME Sous Jaunty au moins, il faut d'abord rentrer le PID après avoir fait **k**, et juste avant de donner le signal **9**.
  * La commande **htop** installable par synaptic, vous fournit une vue plus complète et des commandes kill (tuer) exhaustives.

  * La commande **ps -A** (ou **ps aux**) peut également aider à identifier les "processus fous". En particulier, si vous avez un soupçon sur un programme, vous pouvez identifier son **PID** en tapant **ps -A | grep nom_du_prog** : il s'agit du numéro de la première colonne (deuxième colonne si vous utilisez **ps aux | grep nom_du_prog**, question de préférence personnelle). Il suffit ensuite d'écrire ** kill PID** (en prenant soin de remplacer **PID** par le fameux numéro) pour tuer le processus.

  * Si rien ne vous paraît suspect, ou si tuer les processus gourmands ne change rien, exécutez la commande **sudo pkill X**, ou la commande **sudo pkill -9 X** si la première n'a aucun effet (vérifiez avec la commande **top** que X fonctionne toujours).

  * Si vous avez un serveur [[:ssh]] sur cette machine, essayez de vous connecter par ssh sur votre machine à partir d'une autre. Il est recommandé de vous connecter en tant qu'utilisateur non privilégié, puis d'utiliser la commande sudo pour devenir root. Les commandes à utiliser sont évidemment les mêmes que depuis un terminal virtuel.

===== Redémarrer le serveur graphique =====
Si vous utilisez un environnement graphique, essayez de **redémarrer le serveur graphique en pressant simultanément les touches //Alt + Syst (ou SystRq) + K//**. Vous trouverez plus d'informations à ce sujet à la page [[tutoriel:comment_redemarrer_le_serveur_graphique]].

===== Redémarrez votre ordinateur =====
Si les solutions précédentes n'ont rien donné, vous pouvez toujours tentez de redémarrez votre ordinateur avec les [[:touches magiques]]. Pour cela, **effectuez les combinaisons de touches suivantes, dans l'ordre :**

  - **Alt   SysRq   s** - Synchronise les disques
  - **Alt   SysRq   e** - Termine tous les processus
  - **Alt   SysRq   i** - Tue tous les processus
  - **Alt   SysRq   u** - Remonte les partitions en lecture seule
  - **Alt   SysRq   b** - Redémarre

**Il est important d'attendre plusieurs secondes entre les différentes étapes**, car en cas de plantage sévère vous ne verrez pas les messages de progression s'afficher...

Quelques moyens mnémotechnique parmi d'autres pour se souvenir de la séquence de touches :
  * //**S**avoir **E**teindre **I**ntégralement **U**buntu **B**rusquement//
  * //**S**o **E**verything **I**s **U**nusual, **B**oot)//
  * //**S**topper **U**buntu **B**rusquement// (solution plus radicale, mais plus courte)

Si cela ne fonctionne pas, pressez le bouton //Reset// de votre ordinateur. Avec un peu de chance, GNU/Linux se contentera uniquement d'une vérification du disque au redémarrage. Si ce n'est pas le cas, démarrer temporairement (le temps d'une session) sur l'option //recovery mode// de grub ou même simplement sur une version antérieure du noyau peut parfois résoudre les problèmes.

===== Arrêter votre ordinateur =====
Si vous n'êtes toujours pas tirés d'affaire, vous pouvez toujours tentez d'éteindre votre ordinateur. Deux solutions :
  * À l'aide de l'ACPI : appuyez sur le bouton //Marche/Arrêt// de votre ordinateur pendant moins d'une seconde. Après un temps de latence éventuellement long (jusqu'à plusieurs minutes), le système s'arrête correctement et l'ordinateur est prêt à être redémarré.
  * En dernier recours, pour éteindre un ordinateur gelé, vous pouvez aussi appuyer 5 secondes sur la touche //Marche/Arrêt// de votre ordinateur.

<note warning>Dans tous les cas, ne débranchez jamais votre ordinateur.</note>